Software testing is an important part of the software development cycle. Whenever software is created and/or modified, the software is typically tested using test cases (also called a “test script”) to see whether the software behaves as expected. In the past, much of the test scripts have been manually written (i.e., by developers, quality assurance (QA) individuals, etc.) and such creation of test scripts in many cases is a time consuming and costly process. For the sake of speed to market, some enterprises have chosen to release software that is not fully tested, leading to their customers encountering errors (e.g., as the result of insufficient resources to handle peak load, requests for resources that are not available, etc.). Described herein are techniques for generating test scripts with reduced human involvement.